Collaborating:
You and your collaborators (including your
future self) can access the code and its history
Reproducible:
Your code runs and produces identical results
at different time points and on different systems
Colloquium | 13/01/2021
You and your collaborators (including your
future self) can access the code and its history
Your code runs and produces identical results
at different time points and on different systems
Needs a cool image :)
here-package (Müller, 2020) to define relative paths within the project: read.csv(here::here("data", "file_I_want.csv"))Also needs a cool image :)
knitr (Xie, 2015, 2020) and tinytex (Xie, 2015, 2020; for pdfs)install.packages("rmarkdown") (Allaire et al., 2017)install.packages("knitr") (Xie 2015, 2020)install.packages("rmarkdown") (Allaire et al., 2017)install.packages("knitr") (Xie 2015, 2020)install.packages("rmarkdown")
knitr-package (Xie, 2014, 2015, 2020) to customize chunks and knitting process
{r cache=TRUE,message=FALSE,warning=FALSE,results="hide", error = TRUE}opts_chunk$set()-functionTinyTeX (Xie, 2010) is a light-weight, cross-platform distribution (install.packages("tinytex"); tinytex::install_tinytex()))#/*
rmarkdown::render(input = rstudioapi::getSourceEditorContext()$path,
output_format = rmarkdown::github_document()),
knit_root_dir = getwd()) #*/
update.packages(ask = FALSE, checkBuilt = TRUE))git --version. If “git: command not found”:xcode-select --install. Restart R.git config --global user.name 'your name'git config --global user.email 'email associated with your GitHub account'git config --global --list (Check whether everything worked)git clone https://github.com/YOUR-USERNAME/YOUR-REPOSITORY.git (your link) in the shell (Terminal in RStudio or on Mac, Git Bash on Windows)
cd YOUR-REPOSITORY), list its files (ls), display README (head README.md), get info on its connection to GitHub (git remote show origin)echo "This is the first change to my repo" >> README.md git status
add), commit (commit - m "YOUR-COMMIT-MESSAGE"), and push change. You may be asked for your username and password.git add -A git commit -m "A commit from my local computer" git push
- (Clean up: Delete your local repo (`cd`, and then `rm -rf YOUR-REPO-NAME/`))
https://github.com/YOUR-USERNAME/YOUR-REPOSITORY.gitinstall.packages() to install packages in this local libraryrenv.lock fileinstall.packages(renv)renv::init()renv::snapshot()renv::restore()renv::init()renv.lock fileinstall.packages("cowsay")
.Rmd files):cowsay::say("Hello world", "cow")
renv::snapshot()Restoring someone else’s package versions:
projectname.Rproj file)renv::restore() to install the package versions from the renv.lock fileN:/).Rmd files) on this virtual systemDockerfile that can be shared via GitHubdocker run -d -e PASSWORD=1234 -p 8787:8787 -v /path/to/your/project:/home/rstudio/ rocker/rstudio
Dockerfile in your project directy, specyfing additional steps to execute when building the container, e.g., install.packages("renv"); renv::restore()# This as a text file stored with the name "Dockerfile" in your project directory.
# Base image from Docker Hub, including R, RStudio, the tidyverse, and LaTeX
FROM rocker/verse:4.0.2
# Set working directory within the container
WORDIR /home/rstudio
# Install renv
RUN R -e "remotes::install_version('renv', version = '0.12.0', repos = 'http://cran.us.r-project.org')"
# Copy the lock file
COPY renv.lock renv.lock
# Install package versions stored in the lockfile
RUN R -e "renv::consent(provided = TRUE)"
RUN R -e "renv::restore(prompt = FALSE)"
Dockerfile for you if you don’t have your own oneNeeds a cool image
install.packages("rmarkdown") and install.packages("knitr"){r sample(0:10, 10, replace = FALSE} )